This invention relates generally to binary numbering systems in digial computers, particularly the range and sign representations.
The usual binary number format in digital processing for representing a number range of from 0 to 1 is a multi-bit unsigned binary number. In processing applications where numbers are generated outside of the 0 to 1 range, they are clamped to an extreme value of that range before being handled by the processor. This can result in certain inaccuracies.
Also, this usual binary numbering system results in representing the real numbers inaccurately in order to facilitate processing. For example, an 8-bit unsigned binary number can represent the range of from 0/255 through 255/25. Multiplying two such 8-bit numbers A and B should produce the product (A) (B)/255. However, division by 255 is computationally difficult, so the denominator of 255 is often changed to 256 in order to simplify the computation. This necessitates ignoring one fraction N/256 since the method results in 257 fractions in the range, and only 256 such fractions can be represented. Unless specific measures are taken, the usual number not represented is 256/256, or 1.0.
Therefore, it is a primary object of the present invention to provide a binary numbering system that does not inherently include such inaccuracies and which can accurately handle out of range numbers.